package com.xmim.fulcrum;

import com.xmim.core.container.ContainerFactory;
import com.xmim.core.session.SessionFactory;
import com.xmim.core.session.user.UserSessionManager;
import com.xmim.fulcrum.session.FulcrumSessionManager;
import com.xmim.fulcrum.session.UserSessionsDao;

public interface FulcrumFactory extends SessionFactory<UserSessionManager>, ContainerFactory {


    /**
     * 获取会话管理器
     *
     * @return
     */
    UserSessionManager getSessionManager();

    /**
     * 获取编解码器
     *
     * @return
     */
    FulcrumCodec getCodec();

    /**
     * 获取用户缓存Dao
     *
     * @return
     */
    UserSessionsDao getUserSessionsDao();

    /**
     * 获取配置
     *
     * @return
     */
    FulcrumConfig getConfig();

    /**
     * @param path
     * @return
     */
    long getIdByPath(String path);

}
